package com.buba.controller;

import cn.hutool.json.JSONObject;
import com.buba.mapper.FriendMapper;
import entity.Friend;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import result.CommonResult;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

/**
 * @descriptions: 联系人
 * @author: ZQ
 * @date: 2023/2/16 14:00
 */
@RestController
@RequestMapping("/friend")
public class FriendController {

    @Resource
    private FriendMapper friendMapper;

    /**
     * @descriptions 获取好友信息
     * @author ZQ
     * @date 2023/2/20 9:28
     * @param myId
     * @return result.CommonResult
     */
    @GetMapping("getFriendMapperList")
    public CommonResult getFriendMapperList(Integer myId){
        // myId 不能为空 不能为0
        if (myId != null && myId != 0) {
            // 根据myId 查询好友信息
            List<Map> friendList = friendMapper.getFriendList(myId);
            // 返回结果
            if (friendList != null) {
                // friendList不为空返回数据
                return CommonResult.ok(friendList);
            }else {
                // friendList为空
                return CommonResult.fail("没有好友");
            }
        }else {
            // 判断条件为false返回结果
            return CommonResult.fail("id为空");
        }
    }

    /**
     * @descriptions 清空未读消息
     * @author ZQ
     * @date 2023/3/1 14:31
     * @param myId
     * @param friendId
     * @return result.CommonResult
     */
    @GetMapping("emptyUnRead")
    public CommonResult emptyUnRead(Integer myId, Integer friendId){
        // 判断myId friendId 是否为null 是否为0
        if (myId != null && myId != 0 && friendId != null && friendId != 0) {
            // 调用接口 清空未读取
            friendMapper.emptyUnRead(myId, friendId);
            // 返回成功
            return CommonResult.ok("读取成功");
        }else {
            // 判断条件为false返回结果
            return CommonResult.fail("空");
        }
    }

    /**
     * @descriptions 聊天记录
     * @author ZQ
     * @date 2023/3/1 14:31
     * @param myId
     * @param friendId
     * @return result.CommonResult
     */
    @GetMapping("/friendById")
    public CommonResult friendById(Integer myId, Integer friendId){
        // 判断myId friendId 是否为null 是否为0
        if (myId != null && myId != 0 && friendId != null && friendId != 0) {
            // 根据myId,friendId 查询好友信息
            Friend friend = friendMapper.getFriend(myId,friendId);
            // 返回结果
            if (friend != null) {
                // friend不为空返回数据
                return CommonResult.ok(friend);
            }else {
                // friendList为空
                return CommonResult.fail("没有聊天记录");
            }
        }else {
            // 判断条件为false返回结果
            return CommonResult.fail("空");
        }
    }
}